<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <input type="text" oninput="hand()">
</body>

</html>
<script>
    //如果原来是is内连续执行了100次，现在做了事件节流每隔0.1s执行一次，1s执行10次
    //事件节流，将短时间内同一件事连续多次执行，变为每隔一段时间执行一次
    function handleInput() {
        console.log('变了');
    }


    //参数一：最终执行的函数
    //参数二：定时时间
    function throttle(func, time) {
        var timerid = null
        return function () {
            if (!timerid) {
                timerid = setTimeout(() => {
                    func()
                    clearTimeout(timerid)
                    timerid = null
                }, time)
            }
        }
    }

    //调用throttle最终返回的是内层闭包函数
    var hand = throttle(handleInput, 1000)
</script>